/**
 * Created with IntelliJ IDEA.
 * Description:锁策略
 * User: 邓大帅
 * Date: 2024-01-26
 * Time: 12:12

//Java提供了AQS可以用于实现锁框架
//悲观锁与乐观锁 判断锁冲突概率，做不同的操作
//轻量锁与重量锁 解锁加锁操作快慢
//自旋锁与挂起等待锁 忙等和不忙等 乐观锁的情况下用自旋锁比较好，忙等时间短，cpu资源浪费小 反之悲观锁的情况下适合挂起等待锁
//互斥锁与读写锁 给代码块加锁和给读和写加锁
//可重入锁与不可重入锁 自己与自己能不能发生死锁
//公平锁和非公平锁 是否遵循先来先执行 synchronized是非公平锁，加一个队列可以实现成公平锁

//死锁预防：破坏四个必要的死锁条件
//1.互斥使用 锁的基本特点
//2.不可抢占 锁的基本特点
//3.请求和保持 代码的特点
//4.循环等待 代码的特点 这个条件最好破解，仅需给锁编号，所有线程都按照同样的顺序加锁，就不会发生死锁

//死锁避免：银行家算法 让资源分配始终处于安全的状态

//死锁检测：检测是否发生了死锁，发生死锁后解除死锁
*/
public class ThreadDemo1 {

}
